/* 
 * This file is part of CompetitionGenerator.
 * CompetitionGenerator is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * CompetitionGenerator is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * 
 * GNU General Public License for more details.
 * You should have received a copy of the GNU General Public License
 * along with CompetitionGenerator. If not, see <http://www.gnu.org/licenses/>.
 */
package competitiongenerator.entities;

import java.util.logging.Logger;

/**
 * Category Class.
 * @author Ashitaka
 * @date 11-abr-2009
 */
public class Category {

    /**
     * Logger of the class Championship.
     */
    private final Logger logger = Logger.getLogger(Category.class.getName());
    /**
     * The name of the Category.
     */
    private String categoryName;
    /**
     * The category Gender.
     */
    private String categoryGender;
    /**
     * The category Gender enumeration.
     */
    private enum categoryGenderEnum{
        MALE{
            @Override
            public String toString() {
                return "MALE";
            }
        },
        FEMALE{
            @Override
            public String toString() {
                return "FEMALE";
            }
        },
        MIXED{
            @Override
            public String toString() {
                return "MIXED";
            }
        }
    };
    /**
     * The sign for the weight value.<br>
     * As convention if 0 it is negative, if 1 it is positive.
     */
    private boolean categoryWeightSign;
    /**
     * The weight of the category.
     */
    private int categoryWeigth;

    /**
     * Void constructor.
     */
    public Category(){
    }

    /**
     * Getter.
     * @return categoryName.
     */
    public String getCategoryName() {
        return categoryName;
    }

    /**
     * Setter.
     * @param categoryName.
     */
    public void setCategoryName(String categoryName) {
        this.categoryName = categoryName;
    }

    /**
     * Getter.
     * @return Zero if it is negative and one if it is positive.
     */
    public boolean isCategoryWeightSign() {
        return categoryWeightSign;
    }

    /**
     * Setter.
     * @param categoryWeightSign.
     */
    public void setCategoryWeightSign(boolean categoryWeightSign) {
        this.categoryWeightSign = categoryWeightSign;
    }

    /**
     * Getter.
     * @return categoryWeigth.
     */
    public int getCategoryWeigth() {
        return categoryWeigth;
    }

    /**
     * Setter.
     * @param categoryWeigth.
     */
    public void setCategoryWeigth(int categoryWeigth) {
        this.categoryWeigth = categoryWeigth;
    }

    /**
     * Getter.
     * @return categoryGender.
     */
    public String getCategoryGender() {
        return categoryGender;
    }

    @Override
    public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append(getCategoryName());
        // TODO:
        //sb.append(/*More strings here*/);
        return sb.toString();
    }


}
